package filter.listener;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;

//统计网站在线人数 ： 统计session
public class ListenerDemo implements HttpSessionListener {
    //创建session监听： 看你的一举一动
    //一旦创建Session就会触发一次这个事件！
    @Override
    public void sessionCreated(HttpSessionEvent se) {
        ServletContext Context = se.getSession().getServletContext();
        Integer online = (Integer) Context.getAttribute("online");
        if (online==null)
        {
            online=new Integer(1);
        }else
        {
            online=new Integer(online+1);
        }
        Context.setAttribute("online",online);
    }
    //销毁session监听
    //一旦销毁Session就会触发一次这个事件！
    @Override
    public void sessionDestroyed(HttpSessionEvent se) {
        ServletContext Context = se.getSession().getServletContext();
        Integer online = (Integer) Context.getAttribute("online");
        if (online==null)
        {
            online=new Integer(0);
        }else
        {
            online=new Integer(online-1);
        }
        Context.setAttribute("online",online);
        //销毁session
        se.getSession().invalidate();
    }
}
